package com.oceansoft.mobile.econsole.modules.sys.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.oceansoft.mobile.econsole.modules.base.entity.Pager;
import com.oceansoft.mobile.econsole.modules.base.entity.Query;
import com.oceansoft.mobile.econsole.modules.base.entity.Result;
import com.oceansoft.mobile.econsole.modules.sys.entity.ApiInfo;
import com.oceansoft.mobile.econsole.modules.sys.entity.ApiMonitorLog;
import com.oceansoft.mobile.econsole.modules.sys.entity.ApiMonitorSMS;
import com.oceansoft.mobile.econsole.modules.sys.entity.ParamInfo;
import com.oceansoft.mobile.econsole.modules.sys.entity.Record;

public interface IApiInfoService {
	/**
	 * 分页查询
	 * 
	 * @param query
	 *            查询条件
	 * @return 分页数据
	 */
	Pager findByPage(Query query);

	Result save(ApiInfo apiInfo);

	Result delete(int apiId);

	ApiInfo findApiBaseInfoById(int apiId);

	Result updateApiInfo(ApiInfo apiInfo);

	int countParam(int apiId);

	ParamInfo findParamByApiId(int apiId);

	void saveParam(ParamInfo param);

	//Result submitALLAPiInfo(String url, JSONObject allParamInfo);

	Pager findRecordInfoByPage(Query query);

	Result submitGetAPiInfo(String url);

	Result updateAPIStatus(int apiId, int status);

	// void deleteParam(int apiId);

	public List<ApiInfo> findAllApiInfo();

	public void saveApiMonitorLog(ApiMonitorLog log);

	public void saveApiMonitorSMS(ApiMonitorSMS sms);

	public int alreadyHasSMS(ApiInfo apiInfo);

	Result submitALLAPiInfo(String url, Map<String, String> map, String string);

}
